package com.neudu.glsb.mapper;

import com.neudu.glsb.pojo.AbnormalOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.Map;

/**
 * 异常订单Mapper接口（与XML配套）
 */
@Mapper
public interface AbnormalOrderMapper extends BaseMapper<AbnormalOrder> {

    /**
     * 员工查询自己上传的异常订单
     * @param map 包含分页参数和查询条件
     * @return 分页结果
     */
    Page<AbnormalOrder> selectByCreateBy(@Param("map") Map<String, Object> map);

    /**
     * 管理员查询所有异常订单（带筛选）
     * @param map 包含分页参数和查询条件（订单号、类型、状态、日期范围）
     * @return 分页结果
     */
    Page<AbnormalOrder> selectAllByParams(@Param("map") Map<String, Object> map);

    /**
     * 更新异常订单的处理状态
     * @param id 记录ID
     * @param handleStatus 处理状态（处理中/已处理）
     * @param handleBy 处理人
     * @param handleRemark 处理备注
     * @param handleTime 处理时间
     * @return 影响行数
     */
    int updateHandleStatus(@Param("id") Integer id,
                           @Param("handleStatus") String handleStatus,
                           @Param("handleBy") String handleBy,
                           @Param("handleRemark") String handleRemark,
                           @Param("handleTime") Date handleTime);
}